package ajax.quanxuan.sys.controller;


import ajax.quanxuan.sys.entity.Log;
import ajax.quanxuan.sys.service.LogService;
import ajax.quanxuan.sys.utils.SystemConstant;
import ajax.quanxuan.vo.DataGridViewResult;
import ajax.quanxuan.vo.JSONResult;
import ajax.quanxuan.vo.LogVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author KazuGin
 * @since 2024-07-04
 */
@RestController
@RequestMapping("/sys/log")
public class LogController {
    @Resource
    private LogService logService;

    @RequestMapping("loglist")
    public DataGridViewResult loglist(LogVo logVo) {
        //创建分页信息  参数  当前页  每页显示数量
        IPage<Log> page = new Page<Log>(logVo.getPage(), logVo.getLimit());
        //创建条件构造器
        QueryWrapper<Log> queryWrapper = new QueryWrapper<Log>();
        //操作类型
        queryWrapper.eq(StringUtils.isNotBlank(logVo.getType()),"type",logVo.getType());
        //登录名称
        queryWrapper.like(StringUtils.isNotBlank(logVo.getLoginname()),
                "loginname",logVo.getLoginname());
        //开始时间
        queryWrapper.ge(logVo.getStartTime()!=null,"createtime",logVo.getStartTime());
        //结束时间
        queryWrapper.le(logVo.getEndTime()!=null,"createtime",logVo.getEndTime());
        //根据创建时间排序
        queryWrapper.orderByDesc("createtime");
        //调用查询日志列表的方法
        logService.page(page, queryWrapper);
        //返回数据
        return new DataGridViewResult(page.getTotal(),page.getRecords());
    }
    @RequestMapping("delete")
    public JSONResult delete(String ids){
        //将字符串拆分成数组
        String[] idsstr = ids.split(",");
        if (logService.removeByIds(Arrays.asList(idsstr))){
            return SystemConstant.DELETE_SUCCESS;//删除成功
        }
        return SystemConstant.DELETE_ERROR;//删除失败
    }
}

